package com.gome.axwl.aoc.dao;


import com.gome.axwl.aoc.entity.po.GradeRulePo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description: 等级规则dao
 * @Auther: yinyuxin
 * @Date: 2018年4月27日09:41:29
 */
public interface GradeRuleDao {
    int deleteByPrimaryKey(Integer id);

    int insert(GradeRulePo record);

    int insertSelective(GradeRulePo record);

    GradeRulePo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(GradeRulePo record);

    int updateByPrimaryKey(GradeRulePo record);

    /**
     * 根据条件查询所有记录，默认排序
     * @param gradeRulePo
     * @author yinyuxin
     * @return
     */
    List<GradeRulePo> queryByList(GradeRulePo gradeRulePo);

    /**
     * 根据时间删除所有等级规则
     * @param gradeDate
     * @author yinyuxin
     * @return
     */
    int batchDeleteByDate(@Param("gradeDate") String gradeDate);

    /**
     * 批量新增
     * @param gradeRulePos
     * @return
     */
    int batchInsert(List<GradeRulePo> gradeRulePos);

    /**
     * 按月查询等级值清单
     * @param gradeDate
     * @return
     */
    List<GradeRulePo> queryGradeValuesByMonth(@Param("gradeDate") String gradeDate);
}